How to serve QuickTime movies

Serving QuickTime movies from a Mac running MacHTTP is really no different than serving any other binary document (such as GIF or JPEG files) with one exception. The movie data must be in a proper, flattened format.

There are 3 steps to serving up QuickTime movies:

Configuring the Server

You need to have version 1.2.4 of MacHTTP or later. MIME type support provided in this version is essential to getting MacHTTP to properly serve QuickTime movies to WWW clients. However, using the current beta is highly recommended for performance reasons. Version 1.2.4 was the last version of MacHTTP that still performed file transfers one at a time. For large movies this causes unnecessary client delays. Newer versions support multiple, parallel file transfers.

MacHTTP 1.2.4 or greater should have the following line in the MacHTTP.config file:
BINARY .MOV MooV * video/quicktime
This tells MacHTTP to send all files with a suffix of ".mov" or a file type of "MooV" as a binary file with the MIME type of "video/quicktime". Note that your WWW client must define a viewer for documents of type "video/quicktime" as well. Mac Mosaic defaults to using Apple's "Simple Player" application.

Configuring the Client

Assuming that you are using a recent version of Mac Mosaic, all that is required is to have a copy of the appropriate "helper application" installed with Mosaic. Mosaic will automatically download the movie from MacHTTP and launch the correct viewer.

If you are using a WWW client on Unix or Windows, you will need the appropriate QuickTime viewer for these hosts.

Creating a "flattened" movie

Many Quicktime movie creation tools create a movie document that may reference other movie segments or rely on informations stored in the resource fork of the movie file. Because the HTTP protocol doesn't provide support for transmitting multi-fork files, you must make sure that all of your movie data is contained within the data fork of the movie.

This is required for the movies to play on Unix and MS Windows. Even if you don't use MacHTTP to serve the documents, you'll have to flatten the movie. "Flattening" involves combining all resources, sound, and video that comprise a QuickTime movie into the data fork of the movie file. There are several tools that will perform this operation. One is MCPlayMovie, which is part of the Apple sample source code from ftp.apple.com., Flattmoov, Movie Converter, and newer versions of Adobe Premiere will also flatten movies.

Examples

Once you have a flattened movie, you may serve it just like any other binary document. Here is an example of a QuickTime movie being served from a Unix-based WWW server (httpd). Note that this particular movie has no audio track. Audio tracks in movies will play fine if present.

Here is another example of the same movie being served by MacHTTP running on a Mac IIci. Note: This Mac may be off the air for other uses on rare occasions, so please understand if the movie can't be accessed.